Concurrency And Coordination Runtime
   HOME

TheInfoList



OR:

Concurrency and Coordination Runtime (CCR) is an
asynchronous programming Asynchrony, in computer programming, refers to the occurrence of events independent of the main control flow, program flow and ways to deal with such events. These may be "outside" events such as the arrival of Unix signal, signals, or actions ins ...
library based on
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
from
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
distributed with
Microsoft Robotics Developer Studio Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a discontinued Windows-based environment for robot control and simulation that was aimed at academic, hobbyist, and commercial developers and handled a wide variety of robot hardware. I ...
(MRDS). Even though it comes with MRDS, it is not limited to modelling robotic behavior but can be used to express asynchronous behavior in any application. CCR runtime includes a Dispatcher class that implements a Thread pool, with a fixed number of threads, all of which can execute simultaneously. Each dispatcher includes a queue (called DispatcherQueue) of
delegate Delegate or delegates may refer to: * Delegate, New South Wales, a town in Australia * Delegate (CLI), a computer programming technique * Delegate (American politics), a representative in any of various political organizations * Delegate (United ...
s, which represent the entry point to a procedure (called ''work item'') that can be executed asynchronously. The work items are then distributed across the threads for execution. A dispatcher object also contains a
generic Generic or generics may refer to: In business * Generic term, a common name used for a range or class of similar things not protected by trademark * Generic brand, a brand for a product that does not have an associated brand or trademark, other ...
Port which is a queue where the result of the asynchronous execution of a work item is put. Each work item can be associated with a ReceiverTask object which consumes the result for further processing. An Arbiter manages the ReceiverTask and invokes them when the result they are expecting is ready and put on the Port queue. In May 2010, the CCR was made available along with the entire Robotics Developer Studio in one package, for free. ''Microsoft Robotics Developer Studio 2008 R3.''MSRDS 2008 R3 Release Notes (MSDN Library)
/ref> CCR was last updated in RDS R4 in 2012. It is no longer under development. Asynchronous programming is now supported in Visual Studio languages such as C# through built-in language features.


See also

*
Parallel Extensions Parallel Extensions was the development name for a managed concurrency library developed by a collaboration between Microsoft Research and the CLR team at Microsoft. The library was released in version 4.0 of the .NET Framework. It is composed ...
*
Joins Join may refer to: * Join (law), to include additional counts or additional defendants on an indictment *In mathematics: ** Join (mathematics), a least upper bound of sets orders in lattice theory ** Join (topology), an operation combining two topo ...
*
Microsoft Robotics Developer Studio Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a discontinued Windows-based environment for robot control and simulation that was aimed at academic, hobbyist, and commercial developers and handled a wide variety of robot hardware. I ...


References


External links


CCR: MSDN MagazineCCR: Channel9 InterviewCCR and DSS Toolkit 2008 homepageConcurrency and Coordination Runtime MSDN Documentation
{{.NET Framework .NET software Concurrent programming libraries Robotics suites